package com.ganzalang.gmall.socket.client;

import lombok.extern.slf4j.Slf4j;

import java.io.*;
import java.net.Socket;

/**
 * @author Ganzalang
 * @description 即时通信系统客户端
 * @Date 2021/6/20 14:26
 */
@Slf4j
public class IMSClient {

    public static void main(String[] args) {
        // 本机输入的数据的缓存
        String readLine = null;
        // 从本机输入数据
        BufferedReader systemIn = null;
        // socket输出流
        PrintWriter socketOut = null;
        // 从socket读取的数据的缓存
        String socketInTemp = null;
        try {
            // 循环监听本机输入的数据（比如用户输入的命令行）
                while (!"exit".equals(readLine)) {
                // 客户端创建socket
                Socket socket = new Socket("127.0.0.1", 8099);
                log.info("创建socket成功: {}", socket.getLocalAddress());
                // 系统输入流（本机输入的数据）
                systemIn = new BufferedReader(new InputStreamReader(System.in));
                // socket输出流（发送客户端输入的数据）
                socketOut = new PrintWriter(socket.getOutputStream());
                // 读取用户输入的数据
                readLine = systemIn.readLine();
                log.info("client: {}", readLine);
                // 发送本机输入的数据
                socketOut.println(readLine);
                socketOut.flush();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
